第二章ABAP数据类型学习!
第二章 数据类型
2.1 概要
数据类型(Data Type):定义程序中可以使用的数据类型。
数据变量(Data Variable)参照数据类型定义的、可以存储值的变量。
数据类型与数据变量的定义实例:
1
2
3
4[Data TYPE]
TYPES dtype[TYPE type | LIKE dobj]
[Data Variable]
DATA var [TYPE type | LIKE dobj]
2.1.1数据类型
数据类型在ABAP程序中用于定义变量类型。数据类型和数据对象是单独声明的,数据对象则参照数据类型定义。在程序中利用TYPES语句声明数据类型,这种数据类型只能在该程序中使用,因此也称为本地数据类型。
本地数据类型参照已有的第二章ABAP数据类型进行声明。从数据类型层面考虑,ABAP程序的特点是可以参照ABAP数据字典自身的数据类型定义变量,这种特征便于开发者编程。
2.1.2数据变量
数据变量(Data Variable)是在程序中参照数据类型(Data Type)定义的值。在ABAP程序中最常用的方法是用Data语句定义变量。
数据对象:只有在程序执行期间占用内存物理地址,ABAP语句首先利用数据对象名称确认地址,然后根据参照数据类型的字段长度及小数位等信息解析内容。数据对象里存在没有固定名称的类型,如(WRITE‘ABCDE’)、Text Symbol、(WRITE text-001)、Variable(DATA,STATICS,CLASS-DATA,PARAMETERS)、Constants等类型。
2.1.3数据类型的种类
1.ABAP基本数据类型
- ABAP基本数据类型是系统内部定义的数据类型;
- 同C、Java语言中的c、d、f、i、n类型一样,是系统内部一定义的数据类型。
类型 | 最大长度 | 默认长度 | 初始值 | 类型 | 说明 |
---|---|---|---|---|---|
C | 1~262143个字符 | 1字符 | 空格 | 字符类型 | 如果未在DATA语句中指定参数<length>和<type>,则创建长度为1的字符。 |
N | 1~262143个字符 | 1字符 | “0” | 数字字符类型 | 0到9之间字符组成的数字字符串 |
D | 8个字符 | / | “00000000” | 日期类型 | 日期格式必须为 YYYYMMDD |
T | 6个字符 | / | “000000” | 时间类型 | 格式为 24-hour的 HHMMSS |
I | 4bytes | 1 | 0 | 整数类型 | 取值范围为:-21477483648~+2147483647。如果运算出现非整型的结果(如小数)则进行四舍五入,而不是截断 |
F | 8bytes | / | 0 | 浮点类型 | 小数位最大可以到17位,即可精确到小数点后17位;如果要求高精度,则不应该使用类型 F 数据。而应代之以类型 P 数据;如果值是小数,则要将值使用引号引起来。 |
P | 1~16bytes | 8bytes | 0 | 包类型 | 该类型主要用于商务标准值,如:价格;若小数部分超过长度,则自动按四舍五入将多余的小数除掉;如果整数部分超过长度,则系统运行出错 |
X | 1~524287 bytes | 1 byte | 十六进制的00 | 十六进制 | 类型X是十六进制类型,可表示内存字节实际内容,使用两个十六制字符表示一个字节中所存储的内容。但直接打印输出时,输出的还是赋值时字面意义上的值,而不是Unicode解码后的字符。如果值是字母,则一定要大写,否则赋值不进。 |
2.局部数据类型(存在于程序内部)
在ABAP程序中用ABAP基本数据类型定义局部数据类型。另外,还可以定义包含多个ABAP基本数据类型的结构体(structure)类型。
1 | TYPES dtype[TYPE type|LIKE dobj]... |
3.全局数据类型(存在于数据字典中)
- 全局数据类型是指所有程序都可以使用的数据类型。
- 可以用TYPE语句参照ABAP数据字典里的数据类型定义变量。即SE11创建的ABAP数据字典的对象都可以用于定义数据变量。
2.2 数据类型的声明代码实例
1、参考基本数据类型定义变量
1 | DATA:gv_num TYPE i, |
2、参考局部数据类型定义变量
将程序中常用的数据及结构声明为一个数据类型,定义变量时可以参照此数据类型定义(C语言中的结构体、java语言中的类只不过没有基本的方法)。此数据类型只能在该程序内部使用
1 | TYPES:BEGIN OF t_struct,"!t_struct为结构体名字 |
3、参照全局数据类型定义变量
参照全局数据类型定义变量是指利用ABAP数据字典(表、结构体、数据元素等)定义变量的方法,此数据类型在所有程序中都可以使用。
1 | DATA:gv_carrid TYPE s_carr_id, |
2.3 DATA语句
DATA数据类型用于定义数据变量。变量名包括”_“,最长可以定义30位。
1、TYPE type
定义数据类型的类型。
1 | DATA:gv_num TYPE i. |
冒号”:“使一个命令从逗号”,“开始执行,遇到句号”.“结束。多次执行相同命令时使用冒号”:“可以避免反复使用相同命令的现象。如声明变量。
2、LIKE num
定义与前一个变量相同类型的变量时使用该语句,num可以是任何一种数据类型的变量(字段、参数、结构体、系统变量等)。
1 | DATA:gv_num1 LIKE gv_num2."!定义与gv_num1相同数据类型的变量名位gv_num2的变量 |
3、VALUE int
该语句用于定义变量的初始值,若未赋初始值则会使用声明的数据类型的默认初始值(见2.1概要)。
1 | DATA:gv_num1 TYPE i VALUE 123, |
4、LENGTH n
用于指定字段长度,但只适用于C(字符类型)、N(数字字符类型)、P(包类型)、X(十六进制)类型。
1 | DATA:gv_num TYPE n LENGTH 2. |
5、DECIMALS n
用于指定1~14位小数,只适用于数据类型P。
1 | DATA:gv_num TYPE p DECIMALS 3. |
2.4 ABAP基本语法(注释)
- ABAP程序使用句号”.“表示一个语句的结束。
- 代码的注释有两种
- 符号”*“为行注释。如:*This line is comment
- 符号” “ “为右注释。如:WRITE gv_val.”Part of line is comment.
- 字符串使用单引号’ ‘显示。如gv_val = ‘Enjoy ABAP’.
- 命令要使用空格分开。
1 | gv_val='Enjoy ABAP'. =>错误写法,=与‘之间没有写空格 |
2.5 ABAP命名规则
(1)SAP规定创建ABAP数据字典的程序及数据对象后命名时,要以Z或Y开头且不能使用如INSERT/APPEND等关键字。
(2)ABAP程序中允许定义的变量名最大长度为30位,其中包含“_”符号。
1、定义全局变量
全局变量是指在一个程序或函数内可以访问的数据类型。在程序内部的所有领域都可以参照并修改,因此没有局域性。在程序激活状态下全局变量一直占用着内存地址。定义全局变量时以G开头。
数据类型 | 前缀 | 使用实例 | 程序 |
---|---|---|---|
字段 | V或D | GV_CARRID或GD_CARRID | DATA GV_SFLGIHT TYPE S_CARR_ID或DATA GD_SFLGIHT TYPE S_CARR_ID |
结构体 | S | GS_SFLIGHT | DATA GS_SFLIGHT TYPE SFLIGHT |
常量 | C | GC_RATE | CONSTANTS GC_RATE TYPE I VALUE ‘3.14’ |
内表 | T | GT_SFLIGHT | DATA GT_SFLIGHT TYPE TABLE OF SFLIGHT |
类 | O | GO_ALVGRID | DATA GO_ALVGIRD TYPE REF TO CL_SALV_TABLE |
RANGE(范围) | R | GR_CARRID | RANGES GR_CARRID FOR SFLIGHT-CARRID |
参照变量 | F | GF_OBJ | DATA GF_OBJ TYPE REF TO OBJECT |
若需要细分命名规则,则可以把前缀长度设为3位。
前缀1 -> 范围,前缀2 -> 数据类型,前缀3 -> 数据类型
例:GVF_CARRID中G——全局、V——字段、F——浮点型。
2、局部变量
局部变量是指在程序中模块(函数、子程序等为了实现单位功能集合成块的代码)内部有效的变量。
数据类型 | 前缀 | 使用实例 | 程序 |
---|---|---|---|
字段 | V或D | LV_CARRID或LD_CARRID | DATA LV_SFLGIHT TYPE S_CARR_ID或DATA LD_SFLGIHT TYPE S_CARR_ID |
结构体 | S | LS_SFLIGHT | DATA LS_SFLIGHT TYPE SFLIGHT |
常量 | C | LC_RATE | CONSTANTS LC_RATE TYPE I VALUE ‘3.14’ |
内表 | T | LT_SFLIGHT | DATA LT_SFLIGHT TYPE TABLE OF SFLIGHT |
类 | O | LO_ALVGRID | DATA LO_ALVGIRD TYPE REF TO CL_SALV_TABLE |
RANGE(范围) | R | LR_CARRID | RANGES LR_CARRID FOR SFLIGHT-CARRID |
参照变量 | F | LF_OBJ | DATA LF_OBJ TYPE REF TO OBJECT |
2.6 ABAP基本数据类型
ABAP基本数据类型时ABAP Kernel层次中定义的数据类型,在所有ABAP程序中都可以使用。在程序中定义局部数据类型时可以使用基本数据类型。
1、固定长度的ABAP基本数据类型
初始长度 | 可变长度 | 初始值 | 意义 | |
---|---|---|---|---|
I | 4 | 4 | 0 | 整型(自然数) |
F | 8 | 8 | 0 | 浮点型 |
P | 8 | 1~~16 | 0 | Packed number |
初始长度 | 可变长度 | 初始值 | 意义 | |
---|---|---|---|---|
C | 1 | 1~65535 | ‘ ’ | 文本字段 |
D | 8 | 8 | ‘00000000’ | 日期字段(样式:YYYYMMDD) |
N | 1 | 1~65535 | ‘0’ | 数字文本字段(数字型字符串) |
T | 6 | 6 | ‘000000’ | 样式:HHMMSS |
初始长度 | 可变长度 | 初始值 | 意义 | |
---|---|---|---|---|
X | 1 | 1~65535 | X‘0’ | 十六进制字段 |
注意事项:
- 数据类型D、F、I已经定义了技术属性,因此不用在程序中定义即可直接使用。
- 要使用数据类型C、N、X时要指定其长度。
- 数据类型P不指定DECIMALS就无法识别小数位。
2、数字型
ABAP/4有3种数字类型(数字型)。数字类型的输出方式为靠右对齐。
(1)整数型I
- 值范围为-2^31(-2147483648)~2^31-1(2147483647).
- 只支持整数类型。
- 非整数型数据会进行四舍五入(Round)。
- 用于计算行数、条目数、索引值等。
(2)小数型 Packed number of type P
- 允许有小数位。
- 可用长度为1~16B,小数位最大长度为14位。
- 常使用于精度比较高的数据。
- 计算类型P时,由于涉及软件因素,因此比类型I、F要慢。
- 可使用关键词LENGTH、DECIMALS进行补充,但值得注意的是P类型在声明时必须使用DECIMALS指定小数位个数。
- 可变长度一般是指变量名称之后可指定变量长度(1~16).
1 | DATA gv_p(16) TYPE p |
- 若不指定长度则默认长度为8B。
1 | DATA gv_p TYPE p |
- 程序属性设置如下图所示,应选择Fixed point arithmetic。若不选择,类型P就没有意义,与整数类型相同。
注意事项:若在创建程序时不选择上图所示的选框则运行如下代码时会得到结果“231”。
1 | DATA gv_1 TYPE p DECIMALS 1 VALUE '1.1'. |
(3)浮点型F
- 值范围为1*10^-307~1*10^308。
- 用于定义指数(exponent),因此需要调用“FLTP_CHAR_CONVERSION”函数把其类型转换成其他数据类型后才可以输出。
- 类型F转换成二进制时会发生进位误差。
- 若要显示高精度的数据,则应该使用P类型。
- 数值较大或者不需要进行四舍五入时可以适用类型F(因为在取近似值时使用,因此使用时需注意)。
- 因为类型F是以指数形式显示,因此要调用函数“FLTP_CHAR_CONVERSION”把类型转换为其他数据类型后才能输出。
1 | "!输出F类型的举例 |
3、字符类型
字符类型总共有4种类型,输出时是居左对齐。
(1)字符类型C
- 用于定义文字、数字和特殊文字。
- 定义C类型数据时需要指定其字段长度。如果未指定则默认为1位。
- 可变的长度为1~65535。
- 指定C类型长度时可以使用关键字LENGTH或在变量后使用符号”()“,例:DATA:G_char(3) TYPE c.
- 若系统只声明了变量单位声明变量类型则默认使用C类型,长度为1位。
1 | DATA gv_f0.“!此处的gv_f0变量与下面的gv_f1、gv_f2格式等同。 |
(2)数字型字符串N
- 该类型用于显示C类型数字,以字符串形式显示整数。
- 可变长度为:1~65535。
- 定义N类型时,当变量长度不足时,加前导零不足位数的形式输出且以字符串形式显示数值。
1 | DATA:gv_num1 TYPE i. |
(3)日期类型D和时间类型T
- 日期类型D默认长度为8位,格式为”YYYYMMDD“。
- 时间类型T默认长度为6位,格式为”HHMMSS“。
- 以上两种类型均可直接用来计算。
1 | *日期类型计算 |
2.7数学运算符
1、基本运算符(演算子)
数字类型I、F、P在数据计算中使用的基本符号及关键字如下表所示。
符号 | 说明 | 使用语法 | 与符号相同的关键字 |
---|---|---|---|
+ | 加法 | <p> = <n> + <m> | ADD <n> TO <m> |
- | 减法 | <p> = <n> - <m> | SUBTRACT <n> FROM <m> |
* | 乘法 | <p> = <m> * <n> | MULTIPLY <m> BY <n> |
/ | 除法 | <p> = <m> / <n> | DIVDE <m> BY <n> |
DIV | 取整 | <p> = <m> DIV <n> | |
MOD | 取余 | <p> = <m> MOD <n> | |
** | 乘幂 | <p> = <m> ** <n> |
2、数字运算用函数
函数 | 说明 | 使用例 |
---|---|---|
ABS | 返回绝对值 | ABS(-100)返回100 |
SIGN | 返回符号 | 负数返回“-1”,0返回“0”,正数返回“+” |
CEIL | 返回不小于该值的最小整数 | ceil(1.3),ceil(1.7)返回2 |
FLOOR | 返回不大于该值的最大整数 | floor(1.3),floor(1.7)返回1 |
TRUNC | 取得整数部分 | trunc(1.3),trunc(1.7)返回1 |
FRAC | 取得小数部分 | frac(‘2.9’)返回0.9 |
3、Floating-Point函数
函数 | 功能 |
---|---|
ACOS、ASIN、ATAN;COS、SIN、TAN | 三角函数 |
COSH、SINH、TANH | 双曲线函数 |
EXP | 指数函数(e=2.71828) |
LOG | 自然对数函数 |
LOG10 | 常用对数函数(以10为底) |
SQRT | 平方根函数 |
2.8不定长ABAP基本数据类型
在ABAP中不定长的类型是STRING类型。此类型与C类型相似,且定义非常长的字符串时使用。string类型与基本数据类型C的不同之处是当程序执行时生成动态内存。
string类型的属性:
- 初始长度为0,赋值后长度由复制内容的长度决定。
- 与java中的string不同,ABAP中的string可随时赋值并修改,相应的长度也会改变。
- 使用SHIFT(移动)时结果或与C类型不同(先右后左),主要原因就是因为string是不定长的。
字符串相关的常用函数
函数名称 | 语法规则 | 说明 |
---|---|---|
FIND | FIND p IN text. | 查找text变量中是否存在’p’字符,存在sy-subrc返回0,反之返回4 |
REPLACE | REPLACE g IN f WITH INTO p. | 将’f’中的内容替换成’p’中的内容,g为f中的内容 |
TRNSLATE | TRNSLTATE c TO LOWER/UPPER CASE. | 将’c’中的字母进行大小写转换LOWER(小写) |
SHIFT | SHIFT g LEFT/RIHGHT. | 对’g’中的内容进行左移或右移 |
CONDENSE | CONDENSE c [NO-GAPS]. | 去掉空格并向左对齐,选择”NO-GAPS”去掉内容中的所有空格。不选则只去掉内容开头的空格。 |
OVERLAY | OVERLAY c1 WITH c2. | 将c1中的空格使用c2中的内容按照对应位置的内容进行填充 |
CONCATENATE | CONCATENATE f1 f2 … fn INTO g. | 将f1,f2,…,fn字段按先后顺序拼接在一起存入g变量。 |
SPLIT | SPLIT f AT g INTO h1 h2 … hn | 将f中的内容按照g的分割点进行分割后依次存入h1,h2,h3中。 |
使用实例
1 | DATA:gv_str TYPE string, |
2.9 Hexadecimal类型
Hexadecimal(十六进制)类型是指将1B由2个码位显示的类型。十六进制是为了满足二进制编码形式无法表现的数字而出现的类型。ABAP程序中十六进制主要用于印刷及图片处理部分。
3.0 数字运算符
1、基本运算法则
符号 | 说明 | 使用例 | 与符号相同的关键字 |
---|---|---|---|
+ | 加法 | <p> = <n> + <m> | ADD <n> TO <m>. |
- | 减法 | <p> = <n> - <m> | SUBTRACT <n> FROM <m>. |
* | 乘法 | <p> = <n> * <m> | MULTIPLY <n> BY <m>. |
/ | 除法 | <p> = <n> / <m> | DIVIDE <m> BY <n>. |
DIV | 取整 | <p> = <n> DIV <m> | |
MOD | 取余 | <p> = <n> MOD <m> | |
** | 乘幂 | <p> = <n> ** <m> |
部分运算符举例
1 | DATA: gv_int1 TYPE i VALUE 2, |
2、数字运算用函数
函数 | 说明 | 使用例 |
---|---|---|
ABS | 返回绝对值 | ABS(-100)返回100 |
SIGN | 返回符号 | 负数 -> -1,0 -> 0,正数 -> + |
CEIL | 返回不小于该值的最小整数 | ceil(1.3),ceil(1.7)返回2 |
FLOOR | 与CEIL相反 | floor(1.3),floor(1.7)返回1 |
TRUNC | 取得整数部分 | trunc(1.3),trunc(1.7)返回1 |
FRAC | 取得小数部分 | frac(‘2.9’)返回0.9 |
部分运用函数举例
1 | *ABS绝对值 |
参考链接:abap 算术运算函数
3、Floating-Point 函数
函数 | 功能 |
---|---|
ACOS、ASIN、ATAN;COS、SIN、TAN | 三角函数(Trigonmetric functions) |
COSH、SINH、TANH | 双曲线函数(Hyperbolic functions) |
EXP | 指数函数(Exponential functions,e = 2.7182818285) |
LOG | 自然对数函数(以E为底) |
LOG10 | 常用对数函数(以10为底) |
SQRT | 平方根函数(Square root) |
4.0 局部数据类型
1、声明类型
在程序中声明的数据类型视为局部数据类型,利用关键字TYPES声明。
1 | TYPES dtype [TYPE type|LIKE dobj]... |
2、定义结构体类型
利用如下语法结构,可以定义由多个字段组成的结构体类型。
1 | TYPES BEGIN OF struc_type. |
以员工信息的结构体举例如下
1 | *声明结构体类型 |
INCLUDE 关键字
利用 INCLUDE TYPE 语句可以定义嵌套结构体类型(可以理解成JAVA中的继承的概念)。
1 | *声明结构体类型 |
注意事项:使用嵌套结构体中的变量时以结构体-结构体-字段名的形式显示。
利用 INCLUDE STRUCTRER 语句,可以把DATA语句定义的结构体或者ABAP数据字典存在的结构体包含到嵌套结构体中。
1 | DATA: BEGIN OF gs_ren, |
注意事项:使用嵌套结构时,如果不适用AS起别名则在上面的例子中赋值语句与输出语句如下:
1 | gs_people-name = 'JANG JONG SUK'. |
同样可以输出并使用,但在代码规范上并不规范。
5.0 ABAP数据字典数据类型
ABAP数据字典中的数据类型为全局数据类型。ABAP数据字典(表、结构体、数据元素)是在所有程序中都可以用来声明变量的因素。
ABAP数据字典类型大致分为下列3种形式:
- 表及视图:…TYPE dbtab,…TYPE dbtab-comp
- 数据类型:数据元素(Data Element)、结构体、表类型
- 类型组(Type Groups)
可以通过SE11创建、修改及查询ABAP数据字典。
1、参照表、试图声明数据类型
可以参照数据库表和视图定义结构体及内表。另外,还可以直接参照表里的字段定义变量。
1 | DATA: gs_sflight TYPE sflight. |
参照数据库表及视图定义个别字段。
1 | DATA: GV_CARRID TYPE SFLIGHT-CARRID, |
2、参照基本数据类型定义变量
(1)数据元素(Data Element)
ABAP数据字典中用数据元素(Data Element)定义个别字段。数据元素类型是参照域二定义的(可以在数据元素级别上直接定义类型)。一个域可以在多个数据元素中使用,且一个数据元素可以在多个数据表中使用。
1 | *利用数据元素定义变量 |
(2)利用结构体的TYPE定义
需要结合多个表里的字段一并使用时,用结构体定义变量。
1 | TYPE <dtyoe> TYPE <structure>. |
(3)利用类型组的TYPE定义
类型组是以 INCLUDE 技术为基础的,因此在SAP 4.5A版本以后才开始使用此概念。组合多种数据类型进行声明时使用类型组,它可以在所有程序中使用。
1 | TYPE-POOLS name. |
(4)ABAP数据字典类型与ABAP基本数据类型
ABAP语言中除了基本数据类型,还存在ABAP数据字典类型。所谓ABAP数据字典类型是指在ABAP数据字典中将经常使用的数据类型事先定义的实例。从开发者角度而言此类型与基本数据类型没有区别。因为在程序执行过程中ABAP解释程序会自动解析。
1 | *以下两句话都是定义长度为10的字符类型的代码 |
程序中经常使用的ABAP数据字典类型见下:
6.0 赋值
1、给变量赋值
在ABAP中定义变量时可以通过VALUE语句赋值初始值,实际处理数据的程序中使用MOVE或WRITE TO 语句给变量赋值。
1 | *定义变量时赋初始值 |
(1)MOVE语句
① MOVE TO 语句与<f2> = <f1>中的Equal(=)语句相同。
② MOVE语句还可以用于类型转换,即<f1>的数据类型会转换成<f2>类型。
③ 当字段名及顺序不同的结构体之间相互赋值时,如果用MOVE语句,则会按顺序进行赋值。
④ 在ABAP语言中除了类型D(Date)与类型T(Time)外都可以相互转换类型,一共由64种形态的类型可以相互转换。
(2)MOVE-CORRESPONDING语句
① 赋值字符串字段值时可以使用MOVE-CORRESPONDING语句。这时<string1>和<string2>的字段名可以不相同。
② MOVE-CORRESPONDING语句还经常用于不同结构体之间的赋值,其特点是找到相同的字段名进行赋值。
1 | DATA: BEGIN OF gs_ren, |
(3)WRITE TO 语句
① 该语句的两种用法是:
- 输出报表
- 变量赋值
② 变量赋值时一般用WRITE TO 语句,将数据对象<f1>转换成C类型后赋值给<f2>(<f1>的类型要能转换成C类型,不然会发生Syntax或runtime error的错误)。
③ 后面的<option>里可以使用除了UNDER和NO-GAP以外的所有编辑格式选项。
2、offset 赋值
语法格式如下:
1 | MOVE <f1>[+<p1>][<l1>] TO <f2>[+<p2>][<l2>]. |
该句式是指从f1字段的p1 + 1位开始截取长度为l1的字符串赋给f2的字段从p2 + 1位开始截取长度为l2的字符串写法。
1 | DATA: f1(8) VALUE 'ABCDEFGH', |
3、结构体之间的计算操作
结构体之间赋值用MOVE-CORRESPONDING语句,利用下面所示语句可以进行结构体之间的计算操作。
1 | ADD-CORRESPONDING "!结构体之间相同字段名的字段进行加法运算 |
7.0 定义其他变量
1、常量
程序中经常会使用的值可以定义为常量(constant)。定义常量后在程序内不可以进行修改。
常量一般分为一般常量与结构体常量两种类型。
1 | "! 1.一般常量 |
实际代码演示
1 | CONSTANTS: c_company(10) VALUE 'LG CNS'. |
2、静态常量
在子程序块( FORM,FUNCTION)中要持续保存局部变量值时定义为静态常量(STATICS)。即在FROM语句中内用STATICS定义的局部变量值可以保持到程序结束。
1 | "!静态变量 |
接下来用代码来演示静态常量关键字STATICS与普通变量的区别
1 | *静态常量由于可以将值保存到程序结束,所以每次调用函数结束后不会被内存销毁 |
1 | *普通常量,每次函数调用结束后都会被消灭初始化 |
3、TABLES
使用TABLES语句定义ABAP数据字典中的数据表、视图、结构体,会生成与ABAP数据字典具有相同结构的数据对象。
1 | TABLES <dbtab>. |
1 | TABLES: scarr. |
本代码实例中查询语句SELECT * FROM SCARR INTO SCARR中表与结构体名称相同,因此可以省略INTO SCARR语句。